#pragma once
#include "VolumeRenderPCH.h"

class CCube : public IGameObject
{
public:
	CCube(const std::string& vGameObjectName, int vExecutionOrder) : IGameObject(vGameObjectName, vExecutionOrder) {}
	~CCube() = default;

	void initV() override;
	void updateV() override;

	void use() const { glBindVertexArray(m_VAO); }

private:
	GLuint m_VAO;

	float m_Sensitivity = 0.2f;
	bool m_ButtonRightPressed = false;
	std::array<GLdouble, 2> m_CursorOffset = { 0.0 };
	std::array<GLdouble, 2> m_PrevMousePos = { 0.0 };

	GLvoid __processMouseButtonRight(GLint vButton, GLint vAction, GLint vMods);
};